<?php
/* -------------------------------------------------------------------------------------
* 	ID:						$Id: ot_tax.php 473 2014-01-30 16:00:59Z phone.mueller@googlemail.com $
* 	Letzter Stand:			$Revision: 473 $
* 	zuletzt geaendert von:	$Author: siekiera $
* 	Datum:					$Date: 2014-01-30 16:00:59 +0000 (Thu, 30 Jan 2014) $
*
* 	SEO:mercari by Siekiera Media
* 	http://www.seo-mercari.de
*
* 	Copyright (c) since 2011 SEO:mercari
* --------------------------------------------------------------------------------------
* 	based on:
* 	(c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
* 	(c) 2002-2003 osCommerce - www.oscommerce.com
* 	(c) 2003     nextcommerce - www.nextcommerce.org
* 	(c) 2005     xt:Commerce - www.xt-commerce.com
*
* 	Released under the GNU General Public License
* ----------------------------------------------------------------------------------- */
include_once DIR_FS_INC.'inc.get_tax_description.php';

class ot_tax {
    var $title, $output, $db;

    function __construct() {
		global $price, $db;
		$this->code = 'ot_tax';
		$this->title = MODULE_ORDER_TOTAL_TAX_TITLE;
		$this->description = MODULE_ORDER_TOTAL_TAX_DESCRIPTION;
		$this->enabled = ((MODULE_ORDER_TOTAL_TAX_STATUS == 'true') ? true : false);
		$this->sort_order = MODULE_ORDER_TOTAL_TAX_SORT_ORDER;
		$this->output = array();
		$this->db = $db;
    }

  function process($values_from_cart = false, &$order_total_array) {
    global $order, $price;
		
    $order_total_base = $order_total_array['all'];

    if ($values_from_cart) {
      if(MODULE_SMALL_BUSINESS_STATUS != 'true') {
        if($this->enabled == true) {
          $idx = 0;
          foreach($order_total_array['all']['tax'] as $tax_id => $tax) {
            $order_total_array[$this->code.'_'.$idx] = $order_total_array['all'];
            $order_total_array[$this->code.'_'.$idx]['code'] = $this->code;
            $order_total_array[$this->code.'_'.$idx]['title'] = get_tax_description($tax_id).':';

            $order_total_array[$this->code.'_'.$idx]['text'] = $price->format($tax['value'], true);
            $order_total_array[$this->code.'_'.$idx]['value'] = $tax['value'];
            $order_total_array[$this->code.'_'.$idx]['sort_order'] = $this->sort_order + $idx;

            $order_total_array[$this->code.'_'.$idx]['netto'] = 0;
            $order_total_array[$this->code.'_'.$idx]['tax'] = '';
            $order_total_array[$this->code.'_'.$idx]['brutto'] = 0;
            $idx++;
          }
        }
      }
    }

    else {

      if(MODULE_SMALL_BUSINESS_STATUS != 'true') {
        if($this->enabled == true) {
          reset($order->info['tax_groups']);
          while (list($key, $value) = each($order->info['tax_groups'])) {
            if ($value > 0) {
              if ($_SESSION['customers_status']['customers_status_show_price_tax'] != 0) {
                $this->output[] = array(
                  'title' => $key.': ',
                  'text' =>$price->format($value,true),
                  'value' => $price->format($value, false));
              }
              if ($_SESSION['customers_status']['customers_status_show_price_tax'] == 0
                  && $_SESSION['customers_status']['customers_status_add_tax_ot'] == 1) {
                $this->output[] = array(
                  'title' => 'zzgl. ' . $key .': ',
                  'text' =>$price->format($value,true),
                  'value' => $price->format($value, false));
              }
            }
          }
        }
      }
    }
  }

    function check() {
      if (!isset($this->_check)) {
        $check = $this->db->db_query("SELECT configuration_value FROM ".TABLE_CONFIGURATION." WHERE configuration_key = 'MODULE_ORDER_TOTAL_TAX_STATUS'");
        $this->_check = $check->_numOfRows;
      }
      return $this->_check;
    }

    function keys() {
      return array('MODULE_ORDER_TOTAL_TAX_STATUS', 'MODULE_ORDER_TOTAL_TAX_SORT_ORDER');
    }

    function install() {
      $this->db->db_query("INSERT INTO ".TABLE_CONFIGURATION." (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) VALUES ('MODULE_ORDER_TOTAL_TAX_STATUS', 'true', '6', '1','cfg_select_option(array(\'true\', \'false\'), ', now())");
      $this->db->db_query("INSERT INTO ".TABLE_CONFIGURATION." (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) VALUES ('MODULE_ORDER_TOTAL_TAX_SORT_ORDER', '5', '6', '2', now())");
    }

    function remove() {
      $this->db->db_query("DELETE FROM ".TABLE_CONFIGURATION." WHERE configuration_key in ('".implode("', '", $this->keys())."')");
    }
  }
?>